from driver import GPIO
import utime as time
import system


gpio = GPIO()
gpio.open("gpio_3v3")
gpio.write(1)

def sys_sleep(value):
    '''
    system.lightsleep(value)
    参数说明：
    参数            说明
    无参数          深度睡眠模式，CPU 停止，仅少数低功耗外设工作，可被特殊中断唤醒
    value = 1	    空闲模式，该模式在系统空闲时停止 CPU 和部分时钟，任意事件或中断均可以唤醒
    value = 2	    轻度睡眠模式，CPU 停止，多数时钟和外设停止
    value = 3	    深度睡眠模式，CPU 停止，仅少数低功耗外设工作，可被特殊中断唤醒
    value = 4	    待机模式，CPU 停止，设备上下文丢失(可保存至特殊外设)，唤醒后通常复位
                    休眠后自动拉低3.3V引脚，串口供电断开，与串口连接的外设将失去供电
    '''
    system.lightsleep(value)
    time.sleep(1)

def voltage_3v3(value):
    if value:
        gpio.write(1)
        print("1 mode pull up read 3V3 voltage:",gpio.read())
    else:
        gpio.write(0)
        print("0 mode pull down read 3V3 voltage:",gpio.read())

def sleep_wken(wkenTime):
    ret = system.dtimeStart(0,wkenTime)
    time.sleep(1)
    return ret

def set_sleep_wken():
    # 休眠唤醒后开启飞行模式
    system.sleepWken(1,1)

